/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia.dao;

import controle.gui.frames.ControleFramePrincipal;
import controle.utils.Datas;
import controle.utils.Horas;
import java.sql.Date;
import java.util.List;
import javax.swing.JOptionPane;
import modelo.Agente;
import modelo.Transacaoagente;
import org.hibernate.HibernateException;

/**
 *
 * @author maycon
 */
public class TransacaoDAO extends AbstractDAO {
    
    /**
     * Cadastra uma única transação do usuário
     */
    public static void cadastrar(String nomeTransacao){
        cadastrar(new Transacaoagente(ControleFramePrincipal.user, nomeTransacao, Datas.getDataHoje(), Horas.getHoraAgora()));
    }
 
    /*
     * Exclui todas as transações de usuários que ocorreram antes de @data
     * @data - data limite para exclusão de transações dedo-duro
     */
    public static boolean excluir(Date data) {
        
        try {

            List<Transacaoagente> listTran = AbstractDAO.consultar("Transacaoagente", "data<='" + data.toString() + "'");
            for (int index = 0; index < listTran.size(); index++) {
                AbstractDAO.excluir(listTran.get(index));
            }

            return true;

        } catch (HibernateException ex) {
            JOptionPane.showMessageDialog(null, "Não foi possível excluir as transações dedo-duro antes de " + data.toString() + ".\n", "Erro!", JOptionPane.ERROR_MESSAGE);
            ex.printStackTrace();
            
            return false;
        }

    }
}
